package com.cisystem.system.domain;

import java.util.Date;

import com.cisystem.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.cisystem.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 邮件日志对象 sys_mail_log
 *
 * @author ruoyi
 * @date 2023-10-25
 */
public class SysMailLog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** 用户编号 */
    @Excel(name = "用户编号")
    private Long userId;

    /** 用户类型 */
    @Excel(name = "用户类型")
    private Long userType;

    /** 接收邮箱地址 */
    @Excel(name = "接收邮箱地址")
    private String toMail;

    /** 邮箱账号编号 */
    @Excel(name = "邮箱账号编号")
    private Long accountId;

    /** 发送邮箱地址 */
    @Excel(name = "发送邮箱地址")
    private String fromMail;

    /** 模板编号 */
    @Excel(name = "模板编号")
    private Long templateId;

    /** 模板编码 */
    @Excel(name = "模板编码")
    private String templateCode;

    /** 模版发送人名称 */
    @Excel(name = "模版发送人名称")
    private String templateNickname;

    /** 邮件标题 */
    @Excel(name = "邮件标题")
    private String templateTitle;

    /** 邮件内容 */
    @Excel(name = "邮件内容")
    private String templateContent;

    /** 邮件参数 */
    @Excel(name = "邮件参数")
    private String templateParams;

    /** 发送状态 */
    @Excel(name = "发送状态")
    private Long sendStatus;

    /** 发送时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发送时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date sendTime;

    /** 发送返回的消息 ID */
    @Excel(name = "发送返回的消息 ID")
    private String sendMessageId;

    /** 发送异常 */
    @Excel(name = "发送异常")
    private String sendException;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setUserType(Long userType)
    {
        this.userType = userType;
    }

    public Long getUserType()
    {
        return userType;
    }
    public void setToMail(String toMail)
    {
        this.toMail = toMail;
    }

    public String getToMail()
    {
        return toMail;
    }
    public void setAccountId(Long accountId)
    {
        this.accountId = accountId;
    }

    public Long getAccountId()
    {
        return accountId;
    }
    public void setFromMail(String fromMail)
    {
        this.fromMail = fromMail;
    }

    public String getFromMail()
    {
        return fromMail;
    }
    public void setTemplateId(Long templateId)
    {
        this.templateId = templateId;
    }

    public Long getTemplateId()
    {
        return templateId;
    }
    public void setTemplateCode(String templateCode)
    {
        this.templateCode = templateCode;
    }

    public String getTemplateCode()
    {
        return templateCode;
    }
    public void setTemplateNickname(String templateNickname)
    {
        this.templateNickname = templateNickname;
    }

    public String getTemplateNickname()
    {
        return templateNickname;
    }
    public void setTemplateTitle(String templateTitle)
    {
        this.templateTitle = templateTitle;
    }

    public String getTemplateTitle()
    {
        return templateTitle;
    }
    public void setTemplateContent(String templateContent)
    {
        this.templateContent = templateContent;
    }

    public String getTemplateContent()
    {
        return templateContent;
    }
    public void setTemplateParams(String templateParams)
    {
        this.templateParams = templateParams;
    }

    public String getTemplateParams()
    {
        return templateParams;
    }
    public void setSendStatus(Long sendStatus)
    {
        this.sendStatus = sendStatus;
    }

    public Long getSendStatus()
    {
        return sendStatus;
    }
    public void setSendTime(Date sendTime)
    {
        this.sendTime = sendTime;
    }

    public Date getSendTime()
    {
        return sendTime;
    }
    public void setSendMessageId(String sendMessageId)
    {
        this.sendMessageId = sendMessageId;
    }

    public String getSendMessageId()
    {
        return sendMessageId;
    }
    public void setSendException(String sendException)
    {
        this.sendException = sendException;
    }

    public String getSendException()
    {
        return sendException;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("userId", getUserId())
                .append("userType", getUserType())
                .append("toMail", getToMail())
                .append("accountId", getAccountId())
                .append("fromMail", getFromMail())
                .append("templateId", getTemplateId())
                .append("templateCode", getTemplateCode())
                .append("templateNickname", getTemplateNickname())
                .append("templateTitle", getTemplateTitle())
                .append("templateContent", getTemplateContent())
                .append("templateParams", getTemplateParams())
                .append("sendStatus", getSendStatus())
                .append("sendTime", getSendTime())
                .append("sendMessageId", getSendMessageId())
                .append("sendException", getSendException())
                .append("remark", getRemark())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
